home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / misc / interfaces3_5.lha / Interfaces / MathIEEESingBas.mod < prev    next >
Text File  |  1994-06-19  |  2KB  |  68 lines

  1. (*
  2. (*
  3. **  Amiga Oberon Interface Module:
  4. **  $VER: MathIEEESingBas.mod 40.15 (28.12.93) Oberon 3.4
  5. **
  6. **   © 1993 by Fridtjof Siebert
  7. *)
  8. *)
  9.  
  10. MODULE MathIEEESingBas;
  11.  
  12. IMPORT
  13.   E  * := Exec,
  14.   ml * := MathLibrary,
  15.   SYSTEM *;
  16.  
  17. CONST
  18.   pi      * = SYSTEM.VAL(E.SINGLE,040490FDAH);
  19.  
  20.   twoPi   * = SYSTEM.VAL(E.SINGLE,040C90FDAH);
  21.   pi2     * = SYSTEM.VAL(E.SINGLE,03FC90FDAH);
  22.   pi4     * = SYSTEM.VAL(E.SINGLE,03F490FDAH);
  23.  
  24.   e       * = SYSTEM.VAL(E.SINGLE,0402DF854H);
  25.  
  26.   log10   * = SYSTEM.VAL(E.SINGLE,040135D8DH);
  27.   fpTen   * = SYSTEM.VAL(E.SINGLE,041200000H);
  28.   fpOne   * = SYSTEM.VAL(E.SINGLE,03F800000H);
  29.   fpHalf  * = SYSTEM.VAL(E.SINGLE,03F000000H);
  30.   fpZero  * = SYSTEM.VAL(E.SINGLE,000000000H);
  31.  
  32.   mathIEEESingBasName * = "mathieeesingbas.library";
  33.  
  34. VAR
  35.  
  36.   base * : ml.MathIEEEBasePtr;
  37.  
  38.  
  39. PROCEDURE Fix*  {base,- 30}(x{0} : E.SINGLE ): LONGINT;
  40. PROCEDURE Flt*  {base,- 36}(x{0} : LONGINT  ): E.SINGLE;
  41. PROCEDURE Cmp*  {base,- 42}(x{0} : E.SINGLE;
  42.                             y{1} : E.SINGLE ): LONGINT;
  43. PROCEDURE Tst*  {base,- 48}(x{0} : E.SINGLE ): LONGINT;
  44. PROCEDURE Abs*  {base,- 54}(x{0} : E.SINGLE ): E.SINGLE;
  45. PROCEDURE Neg*  {base,- 60}(x{0} : E.SINGLE ): E.SINGLE;
  46. PROCEDURE Add*  {base,- 66}(x{0} : E.SINGLE;
  47.                             y{1} : E.SINGLE ): E.SINGLE;
  48. PROCEDURE Sub*  {base,- 72}(x{0} : E.SINGLE;
  49.                             y{1} : E.SINGLE ): E.SINGLE;
  50. PROCEDURE Mul*  {base,- 78}(x{0} : E.SINGLE;
  51.                             y{1} : E.SINGLE ): E.SINGLE;
  52. PROCEDURE Div*  {base,- 84}(x{0} : E.SINGLE;
  53.                             y{1} : E.SINGLE ): E.SINGLE;
  54. PROCEDURE Floor*{base,- 90}(x{0} : E.SINGLE ): E.SINGLE;
  55. PROCEDURE Ceil* {base,- 96}(x{0} : E.SINGLE ): LONGREAL;
  56.  
  57.  
  58. (* $OvflChk- $RangeChk- $StackChk- $NilChk- $ReturnChk- $CaseChk- *)
  59.  
  60. BEGIN
  61.   base := E.OpenLibrary(mathIEEESingBasName,37);
  62.  
  63. CLOSE
  64.   IF base # NIL THEN E.CloseLibrary(base) END;
  65.  
  66. END MathIEEESingBas.
  67.  
  68.